#pragma once

#include "Point3D.h"
#include "Direction3D.h"

class Rect3D
{
private:
    double dirB;//rotation for dir
    double width,height;
    
    void makePts(Point3D &b, Point3D &c, Point3D &d);
    
public:
    Point3D location;//center
    Direction3D dir;//direction first side points out
    Rect3D();
    Rect3D(Point3D pt,double width,double height);
    Rect3D(Point3D pt, double width, double height, Direction3D d, double dd);
    ~Rect3D();
    
    double getDirB();
    Rect3D& setDirB(double dd);
    double getWidth();
    double getHeight();
    Rect3D& setWidth(double width);
    Rect3D& setHeight(double height);
    
    void drawSolid();
    void drawSolid_color(int hexColor);
    
    void drawPerim();
    void drawPerim_color(int hexColor);
    void drawPerim_width(double width);
    void drawPerim_widthColor(double width, int hexColor);
};